This invention relates generally to PC based networks used in business infrastructures that require high availability servers. More particularly, the present invention relates to a mechanism for improving server availability to a client personal computer which includes a file server personal computer having a pair of network interface cards, two Ethernet switches each being connected to a corresponding one of the network interface cards, and uplink ports for interconnecting the two switches.
In recent years, in light of the prevalence of server personal computer (PC) being employed in the business infrastructures there has arisen an ever-increasing need for high availability servers in networking. The failure of a server resulting in a downtime may affect loss of productivity and can sometimes even cause businesses to come to a grinding halt. As a consequence of the high power CPUs being built and the enhanced software and hardware architectures, server PCS are becoming increasingly more powerful and are a critical component of present network systems.
In a networked configuration, the server availability alone will not be sufficient enough. This is due to the fact that the link from the server PC to the network is equally important in order to insure overall reliability and availability of the server PC and the network. The network link connected to a server PC may become broken due to either a faulty network interface card (NIC), loose or broken cables, or a faulty switch.
This problem of providing a highly reliable network link to the server PC has been somewhat solved in the prior art by a server PC with primary and secondary links, as depicted in FIG. 1. Such a prior art server PC of FIG. 1 is shown in a publication by Advanced Micro Devices, Inc. entitled APermaNet(trademark) Server: Advanced Server Availability and Performance Features on AMD=s PCnet(trademark) Family of Ethernet Controllers@ which is hereby incorporated by reference. In particular, the networked client-server computer system 10 of FIG. 1 includes a plurality of client personal computers (PCS) 12a-12e which communicate with a file server PC 14 so as to access shared resources, for instance, a database file or a printer (not shown). The shared resources are commonly shared by the plurality of client PCS 12a-12e by way of an Ethernet hub/switch 16 that interconnects all of the client PCS.
A primary link or cable 18 has its one end 20 coupled to a first or primary network interface card (NIC) mounted within the file server PC 14 and its other end 22 connected to the Ethernet switch 16. In order to enhance network link availability, a secondary link or cable 24 is provided which has its one end 26 coupled to a second or redundant network interface card (NIC) in the file server PC and its other end 28 connected to the Ethernet switch 16. Under normal operation, the file server PC 14 uses the primary NIC and the primary link 18 to transmit and receive traffic. When the primary NIC fails and is unable to transfer data packets over the primary link 18 and the switch 16 to the client PCS, the redundant NIC will take over and is placed into service for performing the data transfer over the secondary link 24 and the switch 16. This operation is seamless and does not effect the normal network operation. When the primary NIC comes back on, the traffic is automatically switched from the secondary NIC/link 24 to the primary NIC/link 18.
Unfortunately, this prior fail-over solution suffers from the disadvantage that both the primary and secondary NICs are restricted to be connected at their ends 22, 28 to the same Ethernet hub/switch 16 in order for proper network operation. As a result, the Ethernet switch 16 has now become the single point of failure, which defeats the purpose of creating multiple segments (primary and secondary links) to the network server PC for high availability.
Accordingly, there still exists a need for a redundancy scheme which provides a way for a backup or redundant Ethernet switch to automatically and transparently take over the task of a failed primary Ethernet switch so that the client personal computer may continue to operate with a server personal computer without any disruptions of the network traffic.
Accordingly, it is a general object of the present invention to provide a communication network for enhancing server availability to client PCS.
It is an object of the present invention to provide a mechanism and method for clearing MAC address from Ethernet switch address table so as to enable network link fail-over across two network segments.
It is another object of the present invention to provide a communication network for enhancing server availability to client PCS which includes a second or redundant Ethernet switch so as to automatically and transparently take over the task of a failed primary Ethernet switch.
In a preferred embodiment of the present invention, there is provided a communication network for enhancing server availability to client PCS which includes a file server PC having a primary network interface card and a secondary network interface card configured as a fail-over pair. The primary and secondary network interface cards are programmed with a single MAC address. A first switch device is used to store initially the MAC address of the server PC in an address table. The first switch device is coupled to the primary network interface card via a primary link.
A plurality of client PCS are disposed in communication with the first switch device. One of the plurality of client PCS is in communication with the server PC through the first switch device in normal operation. A second switch device is provided which functionally replaces the first switch device when there is a failure in the first switch device and/or the primary link. The second switch device is coupled to the secondary network interface card via a secondary link. An uplink port is used for interconnecting the first and second switch devices so as to enable link fail-over from the one of the plurality of client PCS through the second switch device to the file server PC upon occurrence of the failure.